// src/utils/permission.js
// 1. 导入权限状态存储（Pinia的store），用于获取全局保存的权限数据

// src/utils/permission.js
import { userStore } from '/src/stores/index.js';

export const hasPermission = (permission) => {
    const userItemStore = userStore(); // 获取用户存储实例
    // 直接获取 permissionCodes（它本身就是数组，无需解构）
    const permissionCodes = userItemStore.permissionCodes || []; // 关键：默认值设为空数组，避免undefined

    // 如果用户没有任何权限（权限列表为空），直接返回false
    if (!permissionCodes.length) return false;

    if (Array.isArray(permission)) {
        // 数组权限：满足任一即可
        return permission.some(item => permissionCodes.includes(item));
    } else {
        // 单个权限：必须包含
        return permissionCodes.includes(permission);
    }
};

// 假设用户权限码是：['system:user', 'store:info']



// 单个权限判断
//hasPermission('system:user'); // 返回true（用户有这个权限）
//hasPermission('order:list'); // 返回false（用户没有这个权限）

// 多个权限判断（数组）
//hasPermission(['system:user', 'order:list']); // 返回true（满足其中一个）
//hasPermission(['product:add', 'order:list']); // 返回false（两个都没有）